package javaapplication1;

import java.awt.Graphics;

public class Ball implements Drawable{

    private Coordenada coordenada;
    private int velocidadX;
    private int velocidadY;
    private final int ancho = 11;
    private final int alto = 11;
    private int anchoMaximo;
    private int altoMaximo;

    public Ball(int x, int y, int anchoMaximo, int altoMaximo) {
        velocidadX = 0;
        velocidadY = 0;
        coordenada = new Coordenada(x, y);
        this.altoMaximo = altoMaximo;
        this.anchoMaximo = anchoMaximo;
    }

    public int getVelocidadX() {
        return velocidadX;
    }

    public void setVelocidadX(int velocidadX) {
        this.velocidadX = velocidadX;
    }

    public int getVelocidadY() {
        return velocidadY;
    }

    public void setVelocidadY(int velocidadY) {
        this.velocidadY = velocidadY;
    }

    public Coordenada getPosicion() {
        return coordenada;
    }

    @Override
    public void dibujar(Graphics g) {
        g.fillOval(coordenada.getX()- (ancho/2), coordenada.getY() - (alto/2), ancho, alto);
    }

    public int getAlto() {
        return alto;
    }

    public int getAncho() {
        return ancho;
    }

    public int getAnchoMaximo() {
        return anchoMaximo;
    }

    public int getAltoMaximo() {
        return altoMaximo;
    }
    
    public void move(){
        coordenada.setX(coordenada.getX() + velocidadX);
        coordenada.setY(coordenada.getY() + velocidadY);
    }

    @Override
    public void aniadir(Drawable drawable) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void eliminar(Drawable drawable) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public Drawable obtenerHijo(int pos) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void accept(Visitor visitor) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
